#ifndef OWL_ACTIVATION_H_
#define OWL_ACTIVATION_H_
#include "common.h"

typedef enum Activation
{
	LOGISTIC, RELU, RELIE, LINEAR, RAMP, TANH, PLSE, LEAKY, ELU, LOGGY, STAIR, HARDTAN, LHTAN
} Activation;


Float Activate(Float x, Activation act);
Float Gradient(Float x, Activation act);

void ActivateArray(int n, Float *x, Activation act);
void GradientArray(int n, Float *x, Activation act, Float *delta);

Activation GetActivation(char *s);
char *GetActivationString(Activation a);


#endif //OWL_ACTIVATION_H_
